package com.ys.data.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.common.vo.OrderVo;
import com.ys.data.entry.Order;

import java.util.List;


/**
* @version: V1.0
* @author: szw
* @className: MakeAppInfoService
* @packageName: MakeAppInfoService
* @description: 预约接口
* @data: 2021-1-22
**/ 
public interface OrderService extends IService<Order> {

    /**
     * 新增订单
     * @param orderVo
     * @return int
     */
    int save(OrderVo orderVo)throws Exception;


    /**
     * 更新订单信息
     * @param orderVo
     * @return int
     */
    int update(OrderVo orderVo)throws Exception;

    /**
     * 查询订单详情信息
     * @param id
     * @return FeedbackInfo
     */
    Order findOrderById(Long id)throws Exception;

    /**
     * 查询订单信息
     * @param queryWrapper
     * @return FeedbackInfo
     */
    Order findOrder(QueryWrapper<Order> queryWrapper)throws Exception;


    /**
     * 查询用户完成的订单信息
     * @param queryWrapper
     * @return FeedbackInfo
     */
    List<Order> findUserOrders(QueryWrapper<Order> queryWrapper)throws Exception;


    /**
     * 删除订单信息
     * @param id
     * @return
     */
    int delete(Long id)throws Exception;

    /**
     * 分页查询订单信息列表
     * @param page
     * @param orderVo
     * @return IPage<FeedbackInfo>
     * @throws Exception
     */
    IPage<Order> orderPage(Page<Order> page, OrderVo orderVo)throws Exception;
}
